package com.ulife.permission.manager;

import com.ulife.common.Result;
import com.ulife.common.exception.ManagerException;
import com.ulife.permission.common.DepartmentQueryResult;
import com.ulife.permission.dao.dataobject.DepartmentDO;

public interface DepartmentManager {

	DepartmentQueryResult getAllDepartment() throws ManagerException;

	Result<DepartmentDO> addDepartment(DepartmentDO department) throws ManagerException;

	Result<Integer> delDepartment(long departmentId) throws ManagerException;

	Result<Integer> updateDepartment(DepartmentDO department) throws ManagerException;

	Result<DepartmentDO> getDepartmentById(long departmentId) throws ManagerException;

	DepartmentQueryResult getAllAvailableDepartment() throws ManagerException;

}
